import java.util.Collection;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class Demo1Map {
    public static void main(String[] args) {

        //底层是二叉搜索树，每次存放元素都要进行大小比较 --> key的值进行比较
        TreeMap<String,Integer> map = new TreeMap<>();
        map.put("def",4);
        map.put("abc",6);
        map.put("www",921);
        map.put("www",920);
        map.put("hhh",12);
        //更新新插入的值
        map.put("abc",98);

        //根据key获取val
        Integer integer = map.get("abc");
        System.out.println(integer);

        integer = map.getOrDefault("abcd",999);
        System.out.println(integer);

        //删除key返回value
//        Integer rev = map.remove("abc");
//        System.out.println(rev);

        //Set集合 ；存放在这个集合类中的ket  都是自动去重的
        Set<String> set = map.keySet();
        System.out.println(set);

        Collection<Integer> collection = map.values();
        System.out.println(collection);

        //Set<Map.Entry<k,V>> entrySet()
        Set< Map.Entry<String,Integer> > entrySet = map.entrySet();
        for(Map.Entry<String,Integer> entry : entrySet) {
            System.out.println("ket: " + entry.getKey() + " value: " + entry.getValue());
        }

        System.out.println(map);
    }
}
